Optimizing resources in data transmission

ABSTRACT

Methods and systems for providing data are disclosed. An optimal set of subcarriers can be determined for a data transmission when a plurality of devices have requested the data transmission. The optimal set of subcarriers can be determined based on similarities or differences between parameters assigned to subcarriers in capability profiles. Capacity loss and other information can be determined based on the similarities or the differences among corresponding parameters of the capability profiles. The data transmission can be transmitted to the plurality of devices via the optimal set of subcarriers.

CROSS REFERENCE TO RELATED PATENT APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/886,654, filed Feb. 1, 2018, which is a continuation of U.S. patentapplication Ser. No. 14/722,981, filed May 27, 2015, issued as U.S. Pat.No. 9,918,326, both of which are herein incorporated by reference intheir entirety.

BACKGROUND

A content provider often receives requests for the same data frommultiple devices. Transmitting the requested data to the devices can becomplicated by varying network conditions and different devicecapabilities. Thus, to transmit the data to all the devices, the contentprovider may be constrained to sacrifice quality and capacity to caterdata transmission to the device with the lowest quality connection orcapacity. Thus, there is therefore a need for more sophisticated methodsand systems for transmitting data to optimize network and deviceresources.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive. Methods and systems for performing (e.g.,transmitting, providing) data are disclosed. A plurality of capabilityprofiles for a communication system can be managed, stored, accessed,and/or the like. The capability profiles can specify parameters, such asmodulation levels, of available subcarriers. The capability profiles canbe generated dynamically or can be predefined. The capability profilescan describe, associate, and/or define capabilities of correspondingdevices in communication with a data provider (e.g., based on networkconditions, settings, or device capabilities). In an aspect, thedisclosed methods and systems can leverage these capability profiles toidentify an optimal set of subcarriers for providing a datatransmission. The parameters (e.g., parameter values) of the availablesubcarriers can be compared, for example, to determine similarity ordifference among values of the parameters. The similarity or differencecan indicate, or otherwise be equivalent to, potential capacity lossand/or capacity reduction among the plurality of devices. An optimal setof subcarriers can be selected to minimize capacity loss and/or capacityreduction. The optimal set of subcarriers can comprise the subcarrierswhose associated parameters have the greatest similarity (e.g., orlowest difference) among the capacity profiles. The data transmission,which may be a multicast data transmission, can be transmitted to theplurality of devices via the optimal set of subcarriers.

Additional advantages will be set forth in part in the description whichfollows or may be learned by practice. The advantages will be realizedand attained by means of the elements and combinations particularlypointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 is a block diagram illustrating an example system;

FIG. 2 is a block diagram illustrating an example computing system inwhich the present methods and systems can operate;

FIG. 3 is a block diagram illustrating an example system;

FIG. 4 is a flowchart illustrating an example method;

FIG. 5 is a flowchart illustrating another example method; and

FIG. 6 is a flowchart illustrating yet another example method.

DETAILED DESCRIPTION

Before the present methods and systems are disclosed and described, itis to be understood that the methods and systems are not limited tospecific methods, specific components, or to particular implementations.It is also to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another embodiment includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherembodiment. It will be further understood that the endpoints of each ofthe ranges are significant both in relation to the other endpoint, andindependently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includesinstances where said event or circumstance occurs and instances where itdoes not.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The present methods and systems may be understood more readily byreference to the following detailed description of preferred embodimentsand the examples included therein and to the Figures and their previousand following description.

As will be appreciated by one skilled in the art, the methods andsystems may take the form of an entirely hardware embodiment, anentirely software embodiment, or an embodiment combining software andhardware aspects. Furthermore, the methods and systems may take the formof a computer program product on a computer-readable storage mediumhaving computer-readable program instructions (e.g., computer software)embodied in the storage medium. More particularly, the present methodsand systems may take the form of web-implemented computer software. Anysuitable computer-readable storage medium may be utilized including harddisks, CD-ROMs, optical storage devices, or magnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

In one aspect, the present methods and systems are related toefficiently providing (e.g., multicasting) a data transmission (e.g.,video content) to a plurality of devices across a network. For example,when a plurality of devices subscribe to a multicast data transmissionthat is transmitted via a plurality of subcarriers, the plurality ofdevices can have different capabilities for processing signals and/ordata transmitted via the plurality of subcarriers (e.g., demodulatingcapability, decoding capability). The disclosed methods and systems canselect an optimal set of subcarriers from a plurality of availablesubcarriers signals to transmit (e.g., multicast) a data transmission(e.g., video content) to the plurality of devices based on the variousprocessing capabilities of the plurality of devices to process each ofthe plurality of subcarriers. Using the selected optimal set ofsubcarriers to transmit the data transmission can enable the pluralityof devices to consume the data transmission with minimal waste ofresources (e.g., network resources, processing resources, energyresources).

FIG. 1 illustrates various aspects of an exemplary system in which thepresent methods and systems can operate. Those skilled in the art willappreciate that present methods may be used in systems that employ bothdigital and analog equipment. One skilled in the art will appreciatethat provided herein is a functional description and that the respectivefunctions can be performed by software, hardware, or a combination ofsoftware and hardware.

The system 100 can comprise a central location 101 (e.g., a headend),which can receive content (e.g., data, input programming, and the like)from multiple sources. The central location 101 can combine the contentfrom the various sources and can distribute the content to user (e.g.,subscriber) locations (e.g., location 119) via a distribution system116.

In an aspect, the central location 101 can receive content from avariety of sources 102 a, 102 b, 102 c. The content can be transmittedfrom the source to the central location 101 via a variety oftransmission paths, including a wireless (e.g. satellite paths 103 a,103 b) and terrestrial path 104. The central location 101 can alsoreceive content from a direct feed source 106 via a direct line 105.Other input sources can comprise capture devices such as a video camera109 or a server 110. The signals provided by the content sources caninclude a single content item or a multiplex that includes severalcontent items. A content item can comprise one or more images, video,audio, combinations thereof, and the like.

The central location 101 can comprise one or a plurality of receivers111 a, 111 b, 111 c, 111 d that are each associated with an inputsource. For example, MPEG encoders such as an encoder 112, are includedfor encoding local content or a video camera 109 feed. A switch 113 canprovide access to the server 110, which can be a Pay-Per-View server, adata server, an internet router, a network system, a phone system, andthe like. Some signals may require additional processing, such as signalmultiplexing, prior to being modulated. Such multiplexing can beperformed by a multiplexer (mux) 114.

The central location 101 can comprise one or more modulators 115 forinterfacing to a distribution system 116. The one or more modulators 115can convert the received content into a modulated output signal suitablefor transmission over the distribution system 116. For example, the oneor more modulators 115 can be configured to use analog and/or digitalmodulation, such as amplitude modulation, phase shift keying, orthogonalfrequency division multiplexing, and/or the like. In an aspect, the oneor more modulators 115 can be configured to use modulation of a varietyof complexities, transmission capacities, and/or the like. For example,the varying levels of complexity and/or transmission capacity can bedenoted as modulation levels. For example, a modulator 115 configured touse quadrature amplitude modulation (QAM) can be configured to providesignals using the following modulation levels: QAM 16K modulation, QAM4096 modulation, QAM 1024 modulation, QAM 256 modulation, QAM 64modulation, QAM 16 modulation, and/or the like. The output signals fromthe modulators can be combined, using equipment such as a combiner 117,for input into the distribution system 116.

A control system 118 can permit a system operator to control and monitorthe functions and performance of the system 100. The control system 118can interface, monitor, and/or control a variety of functions,including, but not limited to, the channel lineup for the televisionsystem, billing for each user, conditional access for contentdistributed to users, and the like. The control system 118 can provideinput to the modulators for setting operating parameters, such as systemspecific MPEG table packet organization or conditional accessinformation. The control system 118 can be located at the centrallocation 101 or at a remote location.

The distribution system 116 can distribute signals from the centrallocation 101 to user locations, such as a user location 119. Thedistribution system 116 can be an optical fiber network, a coaxial cablenetwork, a hybrid fiber-coaxial network, a wireless network, a satellitesystem, a direct broadcast system, or any combination thereof. There canbe a multitude of user locations connected to the distribution system116. At the user location 119, a demodulator 120, a decoder 121, such asa gateway or home communications terminal (HCT) can decode, if needed,the signals for display on a display device, such as on a television set(TV) 122 or a computer monitor. Those skilled in the art will appreciatethat the signal can be decoded in a variety of equipment, including anHCT, a computer, a TV, a monitor, or satellite dish. In an exemplaryaspect, the methods and systems disclosed can be located within, orperformed on, one or more of the decoder 121, the TV 122, the centrallocation 101, DVRs, home theater PCs, and the like.

In an aspect, the distribution system 116 can comprise an analysis unit123 configured to perform analysis related to providing data to one ormore devices at one or more user locations 119. For example, theanalysis unit 123 can be configured to determine capability informationof one or more (or each) devices of a group of devices requesting thesame or similar data. The analysis unit 123 can be configured to use thecapability information to determine parameters for providing the data tothe group of devices. The parameters can comprise modulation parameters(e.g., modulation level, subcarriers to transmit the data), transmissionparameters (e.g., multicast group, unicast transmissions, scalable videocoding parameters), encoding parameters (e.g., bit rate), and/or thelike. For example, the analysis unit 123 can be configured to assist thedistribution system 116, a device (e.g., modulator 115) at the centrallocation 101, and/or the like in selecting subcarriers for a datatransmission to one or more user locations.

In an aspect, the distribution system 116 can transmit data via aplurality of subcarriers. As an example, the modulator 115 can beconfigured to transmit data as sequence of data symbols according tosymbol rate. A data symbol can comprise a waveform that persists for agiven period of time. The symbol rate can define the number of symbolsprovided to a network link of the distribution system 116 by themodulator 115 during a time period. Each data symbol can be transmittedvia a plurality of subcarriers. For example, each of the subcarriers cancorrespond to a particular frequency and/or frequency range on which acorresponding signal (e.g., waveform) is provided. For example, each ofthe corresponding signals can carry data based on correspondingamplitudes, in-phase values, quadrature values, and/or the like thatdefine the signals. The in-phase value can define a sinusoidal wavecomponent that is shifted in phase (e.g., 90 degrees) from a sinusoidalwave component defined by the quadrature value. In an aspect, thesubcarriers can be orthogonal frequency division multiplexing (OFDM)subcarriers or other similar subcarriers.

In an aspect, one or more subcarriers signals can be selected for atransmission, such as a multicast transmission, based on analysisperformed by the analysis unit 123. Additionally, the analysis unit 123can be configured to provide parameters to the modulator 115 and/or theencoder 112. As explained further herein, encoding parameters,modulation parameters, and/or the like can be selected and provided tothe encoder 112 and/or the modulator 115 to enable selection ofparticular subcarriers for transmission of a data signal. For example,the analysis unit 123 can comprise a capability analysis unit 306 and/ora signal selection unit 308 of FIG. 3.

In an aspect, the distribution system 116 can multicast, broadcast,and/or unicast data signals. The data signals can be performed (e.g.,transmitted, sent, provided) via carrier aggregations by sending datasignals via multiple channels, bands, subcarrier groups, and/or thelike. For example, data signals can be transmitted via over-the-airbroadcast, large scale 4G, wireless local area network (WLAN), wiredlocal area network (LAN), metropolitan area network (MAN), long-termevolution (LTE), and/or the like.

In an aspect, the methods and systems disclosed can be located withinequipment located at the user location 119, other user locations, and/orthe distribution system 116. For example, data can be provided across anetwork (e.g., distribution system 116) as a plurality of signals to theuser location 119 or other user locations. As a further explanation, themethods and systems can be implemented via the analysis unit 123, theencoder 112, the modulator 115, and/or the like.

In an exemplary aspect, the methods and systems can be implemented on acomputer 201 as illustrated in FIG. 2 and described below. By way ofexample, the server 110 of FIG. 1 and/or the analysis unit 123 of FIG. 1can be a computer as illustrated in FIG. 2. The first device 302, seconddevice 312, third device 314, fourth device 316, fifth device 318,and/or sixth device 320 of FIG. 3 can be computers as illustrated inFIG. 2. Similarly, the methods and systems disclosed can utilize one ormore computers to perform one or more functions in one or morelocations.

FIG. 2 is a block diagram illustrating an exemplary operatingenvironment for performing the disclosed methods. This exemplaryoperating environment is only an example of an operating environment andis not intended to suggest any limitation as to the scope of use orfunctionality of operating environment architecture. Neither should theoperating environment be interpreted as having any dependency orrequirement relating to any one or combination of components illustratedin the exemplary operating environment.

The present methods and systems can be operational with numerous othergeneral purpose or special purpose computing system environments orconfigurations. Examples of well known computing systems, environments,and/or configurations that can be suitable for use with the systems andmethods comprise, but are not limited to, personal computers, servercomputers, laptop devices, and multiprocessor systems. Additionalexamples comprise set top boxes, programmable consumer electronics,network PCs, minicomputers, mainframe computers, distributed computingenvironments that comprise any of the above systems or devices, and thelike.

The processing of the disclosed methods and systems can be performed bysoftware components. The disclosed systems and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computers or otherdevices. Generally, program modules comprise computer code, routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Thedisclosed methods can also be practiced in grid-based and distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules can be located inboth local and remote computer storage media including memory storagedevices.

Further, one skilled in the art will appreciate that the systems andmethods disclosed herein can be implemented via a general-purposecomputing device in the form of a computer 201. The components of thecomputer 201 can comprise, but are not limited to, one or moreprocessors 203, a system memory 212, and a system bus 213 that couplesvarious system components including the one or more processors 203 tothe system memory 212. In an aspect, the system can utilize parallelcomputing.

The system bus 213 represents one or more of several possible types ofbus structures, including a memory bus or memory controller, aperipheral bus, an accelerated graphics port, and a processor or localbus using any of a variety of bus architectures. By way of example, sucharchitectures can comprise an Industry Standard Architecture (ISA) bus,a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, aVideo Electronics Standards Association (VESA) local bus, an AcceleratedGraphics Port (AGP) bus, and a Peripheral Component Interconnects (PCI),a PCI-Express bus, a Personal Computer Memory Card Industry Association(PCMCIA), Universal Serial Bus (USB) and the like. The system bus 213,and all buses specified in this description can also be implemented overa wired or wireless network connection and each of the subsystems,including the one or more processors 203, a mass storage device 204, anoperating system 205, capability analysis software 206, signal data 207,a network adapter 208, system memory 212, an Input/Output Interface 210,a display adapter 209, a display device 211, and a human machineinterface 202, can be contained within one or more remote computingdevices 214 a,b,c at physically separate locations, connected throughbuses of this form, in effect implementing a fully distributed system.

The computer 201 typically comprises a variety of computer readablemedia. Exemplary readable media can be any available media that isaccessible by the computer 201 and comprises, for example and not meantto be limiting, both volatile and non-volatile media, removable andnon-removable media. The system memory 212 comprises computer readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 212 typically contains data such as signal data 207 and/orprogram modules such as operating system 205 and capability analysissoftware 206 that are immediately accessible to and/or are presentlyoperated on by the one or more processors 203.

In another aspect, the computer 201 can also comprise otherremovable/non-removable, volatile/non-volatile computer storage media.By way of example, FIG. 2 illustrates a mass storage device 204 whichcan provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputer 201. For example and not meant to be limiting, a mass storagedevice 204 can be a hard disk, a removable magnetic disk, a removableoptical disk, magnetic cassettes or other magnetic storage devices,flash memory cards, CD-ROM, digital versatile disks (DVD) or otheroptical storage, random access memories (RAM), read only memories (ROM),electrically erasable programmable read-only memory (EEPROM), and thelike.

Optionally, any number of program modules can be stored on the massstorage device 204, including by way of example, an operating system 205and capability analysis software 206. Each of the operating system 205and capability analysis software 206 (or some combination thereof) cancomprise elements of the programming and the capability analysissoftware 206. Signal data 207 can also be stored on the mass storagedevice 204. Signal data 207 can be stored in any of one or moredatabases known in the art. Examples of such databases comprise, DB2®,Microsoft® Access, Microsoft® SQL Server, Oracle®, mySQL, PostgreSQL,and the like. The databases can be centralized or distributed acrossmultiple systems.

In another aspect, the user can enter commands and information into thecomputer 201 via an input device (not shown). Examples of such inputdevices comprise, but are not limited to, a keyboard, pointing device(e.g., a “mouse”), a microphone, a joystick, a scanner, tactile inputdevices such as gloves, and other body coverings, and the like These andother input devices can be connected to the one or more processors 203via a human machine interface 202 that is coupled to the system bus 213,but can be connected by other interface and bus structures, such as aparallel port, game port, an IEEE 1394 Port (also known as a Firewireport), a serial port, or a universal serial bus (USB).

In yet another aspect, a display device 211 can also be connected to thesystem bus 213 via an interface, such as a display adapter 209. It iscontemplated that the computer 201 can have more than one displayadapter 209 and the computer 201 can have more than one display device211. For example, a display device can be a monitor, an LCD (LiquidCrystal Display), or a projector. In addition to the display device 211,other output peripheral devices can comprise components such as speakers(not shown) and a printer (not shown) which can be connected to thecomputer 201 via Input/Output Interface 210. Any step and/or result ofthe methods can be output in any form to an output device. Such outputcan be any form of visual representation, including, but not limited to,textual, graphical, animation, audio, tactile, and the like. The displaydevice 211 and computer 201 can be part of one device, or separatedevices.

The computer 201 can operate in a networked environment using logicalconnections to one or more remote computing devices 214 a,b,c. By way ofexample, a remote computing device can be a personal computer, portablecomputer, smartphone, a server, a router, a network computer, a peerdevice or other common network node, and so on. Logical connectionsbetween the computer 201 and a remote computing device 214 a,b,c can bemade via a network 215, such as a local area network (LAN) and/or ageneral wide area network (WAN). Such network connections can be througha network adapter 208. A network adapter 208 can be implemented in bothwired and wireless environments. Such networking environments areconventional and commonplace in dwellings, offices, enterprise-widecomputer networks, intranets, and the Internet.

For purposes of illustration, application programs and other executableprogram components such as the operating system 205 are illustratedherein as discrete blocks, although it is recognized that such programsand components reside at various times in different storage componentsof the computer 201, and are executed by the one or more processors 203.An implementation of capability analysis software 206 can be stored onor transmitted across some form of computer readable media. Any of thedisclosed methods can be performed by computer readable instructionsembodied on computer readable media. Computer readable media can be anyavailable media that can be accessed by a computer. By way of exampleand not meant to be limiting, computer readable media can comprise“computer storage media” and “communications media.” “Computer storagemedia” comprise volatile and non-volatile, removable and non-removablemedia implemented in any methods or technology for storage ofinformation such as computer readable instructions, data structures,program modules, or other data. Exemplary computer storage mediacomprises, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer.

FIG. 3 is a block diagram illustrating an example system 300 forproviding data. In an aspect, the system 100 can comprise a first device302. In an aspect, the first device 302 can be configured to store,access, process, transmit, and/or the like data 304. The first device302 can be a server for communicating with a plurality of devices, suchas a second device 312, a third device 314, a fourth device 316, a fifthdevice 318, and a sixth device 320. In one aspect, the first device 302can comprise a variety of devices configured to process the data 304.For example, the first device 302 can comprise a data server, encoder,modulator, and/or the like. As another example, the first device 302 cancomprise an access platform (e.g., converged cable access platform)configured to provide the data 304 across a variety of networks in avariety of formats.

As an example, the first device 302 can communicate with the pluralityof devices for providing content and/or services. As an example, datacan comprise video, audio, metadata, text, program guide information,application data, and/or the like. The data 304 can be organized as oneor more data transmissions, such as content channels, video on demand,digital video recordings, and the like. As an example, the first device302 can provide services such as network (e.g., Internet) connectivity,network printing, media management (e.g., media server), contentservices, streaming services, broadband services, or othernetwork-related services. In an aspect, the first device 302 can allowthe plurality of devices to interact with remote resources such as data,devices, and files. As an example, the first device 302 can beconfigured as (or disposed at) a central location (e.g., a headend, orprocessing facility) or edge location, which can receive content (e.g.,data, input programming) from one or more sources. The first device 302can combine the content from the one or more sources and can distributethe content to user (e.g., subscriber) locations via a network 310.

In an aspect, the network 310 can comprise a packet switched network(e.g., internet protocol based network), a non-packet switched network(e.g., quadrature amplitude modulation based network), and/or the like.The network 310 can comprise network adapters, switches, routers,modems, and the like connected through wireless links (e.g., radiofrequency, satellite) and/or physical links (e.g., fiber optic cable,coaxial cable, Ethernet cable, or a combination thereof). The network310 can comprise public networks, private networks, wide area networks(e.g., Internet), local area networks, and/or the like. The network 310can comprise a content access network, a content distribution network,and/or the like. In one aspect, the network 310 can be configured toprovide communication from telephone, cellular, modem, and/or otherelectronic devices to and throughout the system 300. For example, thenetwork 310 can be configured to communicatively couple one or more of afirst device 302, second device 312, third device 314, fourth device316, fifth device 318, sixth device 320 and/or the like.

In an aspect, one or more of the plurality of devices (e.g., the seconddevice 312, the third device 314, the fourth device 316, fifth device318, and the sixth device 320) can be user devices. The plurality ofdevices can be configured to perform (e.g., transmit, provide) content,services, information, applications, and/or the like to one or moreusers. For example, each of the plurality of devices can comprise acomputer, a smart device (e.g., a smart phone, smart watch, smartglasses, smart apparel, smart accessory), a laptop, a tablet, a set topbox, a display device (e.g., television, monitor), a digital streamingdevice, a proxy, a gateway, a transportation device (e.g., an on-boardcomputer, a navigation system, a vehicle media center), a sensor node,and/or the like.

In an aspect, the first device 302 can be configured to transmit thedata 304 via one or more data transmissions. An example datatransmission can comprise, for example, a data stream, file transfer,and/or the like. In an aspect, the data transmission (e.g., data 304)can be modulated according to one or more complexity levels (e.g., QAM16K, QAM 4096, QAM 1024, QAM 256, QAM 64, QAM 16, QPSK, BPSK). The oneor more data transmissions can comprise a unicast transmission, abroadcast transmission, a multicast transmission, and/or the like. Thedata 304 can be transmitted across the network 310 in the form of aplurality of subcarriers. The first device 302 can be configured todivide, segment, and/or the like a first portion of the data, such as acontent item (e.g., show, movie, episode, newscast, sportscast) intomultiple transmissions. The first device 302 can transmit the multipletransmissions to one or more of the plurality of devices via the network310. In one aspect, the multiple transmissions can be generated based onscalable video encoding (SVC) or similar technique. For example, whengenerated using SVC, the multiple transmissions can be combined togetherto form a single data stream, file, and/or the like.

In another aspect, the first device 302 can generate the multiple datatransmissions via carrier aggregation techniques. A first portion of themultiple data transmissions can be transmitted via a first set ofsubcarriers, a first band, a first channel, and/or the like. A secondportion of the multiple data transmissions can be transmitted via asecond set of subcarriers, a second band, a second channel, and/or thelike. For example, the plurality of devices can receive and combine thefirst portion of the multiple data transmissions and the second portionof the multiple data transmissions. As an example, multiple contiguousand/or non-contiguous frequency bands (e.g., on a physical line and/orwireless link of the network 310) can be selected and utilized fortransmission of the multiple data transmissions.

5234 group norms and first device 302 can comprise a capability analysisunit 306 configured to determine capabilities of one or more devicesrequesting the data 304, such as the plurality of devices (e.g., seconddevice 312, third device 314, fourth device 316, fifth device 318, andsixth device 320). For example, the capability analysis unit 306 canreceive and/or process capability information associated with theplurality of devices. For example, the capability information cancomprise demodulation capability information (e.g., modulation levels adevice can demodulate or modulate), error correction capabilityinformation, deinterleaving information, modulation error ratio (MER),signal-to-noise ratio (SNR), error vector magnitude (EVM), and/or thelike. In an aspect, the capability information can be a plurality ofvalues. The capability information can be determined based on probemeasurements, predefined configurations, signaling history, testsignals, information received from the plurality of devices, and/or thelike.

The capability information can be determined based on one or morecapability profiles. For example, the first device 302 can manage (e.g.,generate, access, modify) the one or more capability profilesdynamically (e.g., as devices and conditions change) or use predefinedcapability profiles. For example, each of the plurality of devices canbe associated with a corresponding capability profile. In somescenarios, more than one of the plurality of devices can be associatedwith the same capability profile. The analysis unit 123 can beconfigured to receive and/or determine one or more capability profilesassociated with the plurality of devices. The capability profiles canindicate the corresponding devices' capabilities, configuration, and/orthe like for processing signals. In an aspect, processing signals cancomprise demodulating, modulating, decoding, encoding, correcting,de-interleaving, transmitting and/or the like of signals by the devices.

A capability profile can comprise a plurality of subcarriers assigned tocorresponding modulation levels. In one aspect, a capability profile canassign groups of the plurality of subcarriers for specified purposes,such as multicast transmissions. As an example, if there are 8modulation levels and 500 available subcarriers signals, a portion ofthe 500 subcarriers (e.g., 50 of the subcarriers) can be assigned asmulticast subcarriers. The assigned multicast subcarriers can all beassigned to the same modulation level (e.g., or group of modulationlevels).

In an aspect, a capability profile can be static or dynamic. Forexample, for in networks where assignment and modulation levels of oneor more subcarriers can be dynamic, capability profiles can also bedynamic. For example, as network conditions change, the capabilityprofiles for the devices can be updated, thereby changing modulationlevels for one or more subcarriers. In the case of static capabilityprofiles, one or more capability profiles can be predefined for aparticular device, system, and/or the like. The first device 302 can beconfigured to assign various capability profiles to the correspondingdevices of the plurality of devices.

As an example, the one or more capability profiles can comprise a firstcapability profile. The first capability profile can be a low capabilityprofile (e.g., emergency profile) configured to allow basiccommunication (e.g., which may be impractical for transmitting higherbit rate multimedia). The first capability profile can be used forproblem reporting, emergency communication, and/or the like. The one ormore capability profiles can comprise a second capability profile. Thesecond capability profile can configure devices to communicate usingmaximum or near maximum bit loading (e.g., highest modulation levelsupported by the network 310) across a plurality of subcarriers tosupport the highest data rate (e.g., and best signal) supported by thesystem 300. The one or more capability profiles can comprise additionalcapability profiles associated with various modulation levels (e.g.,levels of bit loading), such as modulation levels in between themodulation levels of the first capability profile and the secondcapability profile. As an example, in a data over cable serviceinterface specification (DOCSIS) based system (e.g., DOCSIS 3.1), thefirst device 302 can be configured to assign four (e.g., or three, five,or other appropriate number) different predefined capability profilesamong the plurality of devices.

In general, the first device 302 can assign capability profiles to theplurality of devices based on connection information determined by thefirst device 302. Connection information can comprise signal-to-noiseratio (e.g., for signals between the first device 302 and acorresponding device), noise levels, device capability (e.g., memory,processor speed, software and/or hardware configuration), network pathdistance, network hops, and/or the like. For example, devices of theplurality of devices that have greater signal-to-noise ratios, lowernoise levels, greater device capabilities, and the like, can be assigneda capability profile with higher modulation levels, such as the secondcapability profile. While devices of the plurality of devices that havelower signal-to-noise ratios, higher noise levels, lower devicecapabilities, greater network path distance, and the like, can beassigned a capability profile with lower modulation levels than thesecond capability profile.

In an aspect, the capability analysis unit 306 can be configured to mapthe received capability information to a plurality of values. Forexample, the plurality of values can be a plurality of integers (e.g.,0, 1, 2, 3, 4, 5, 6, 7, 8, etc.). In an aspect, the values (e.g.,integers) to be assigned can be indicative of capability levels theplurality of devices. In an aspect, a mapping scheme can be utilized tomap (e.g., associate) the capability information of devices to specificvalues. For example, a capability of demodulating a signal at thehighest modulation level (e.g., QAM 16K modulated signal) can beassociated with a largest value (e.g., 8) of the mapping scheme, acapability of demodulating a signal at second highest modulation level(e.g., QAM 4096 modulated signal) can be associated with a secondlargest value (e.g., 7), a capability of demodulating a signal at athird highest modulation level (e.g., a QAM 1024 modulated signal) canbe associated with a third largest value (e.g., 6), a capability ofdemodulating a signal at a fourth highest modulation level (e.g., a QAM256 modulated signal) can be associated with a fourth largest value(e.g., 5), a capability of demodulating a signal at fifth highestmodulation level (e.g., a QAM 64 modulated signal) can be associatedwith a fifth largest value (e.g., 4), a capability of demodulating asignal at a sixth highest modulation level (e.g., a QAM 16 modulatedsignal) can be associated with a sixth largest value (e.g., 3), acapability of demodulating a signal at a seventh highest modulationlevel (e.g., a quadrature phase shift keying modulated signal) can beassociated with a seventh largest value (e.g., 2), a capability ofdemodulating a signal at an eighth highest modulation level (e.g., abinary phase-shift keying modulated signal) can be associated with aeighth largest value (e.g., 1), and the inability to demodulate a signalcan be associated with a lowest value (e.g., 0).

Throughout the disclosure, an example mapping scheme of 0-8 is used forillustration purposes, but it should be understood that differentmapping schemes can be used for characterizing capability information.Additionally, QAM is given as an example throughout the disclosure forillustration purposes, but the system can use other modulationtechniques for any bit loading application, such as binary phase shiftkeying (BPSK), frequency-shift keying (FSK), phase-shift keying (PSK),Gaussian minimum shift keying (GSMK), orthogonal frequency divisionmultiplexing (OFDM), and/or the like.

In an aspect, the first device 302 can comprise a signal selection unit308 configured to determine signal parameters for performing (e.g.,transmitting, providing) one or more data transmissions. For example,one or more of the plurality of devices can request transmission for thefirst portion of the data, such as the content item. The signalselection unit 308 can select one or more subcarriers for transmissionof the first portion of the data based on the capability informationrelated to the requesting devices. The signal selection unit 308 can beconfigured to select an optimal set of subcarriers for transmission ofthe first portion of the content based on the capability information.

In an aspect, the optimal set of subcarriers can be selected bycomparing or otherwise analyzing the capability information of one ormore (or each) of the devices requesting the first portion of thecontent. The optimal set of subcarriers can be determined based on acapacity reduction metric. The capacity reduction metric can comprise ameasure of the amount of capacity lost among one or more of therequesting devices if a particular subcarrier or set of subcarriers isused for transmission of the first portion of the data. For example, thesecond device 312 can be configured to use the seventh modulation levelfor a particular subcarrier, while the third device 314 can beconfigured to use the second modulation level for the particularsubcarrier. To send the first portion of the content, via a multicasttransmission on the particular subcarrier, to both the second device 312and third device 314, the first device 302 may be constrained to use thelower modulation level (e.g., second modulation level). Transmitting toboth the second device 312 and third device 314 at the lower modulationlevel may result in a reduction or loss of the full capacity of thesecond device 312 to receive at the higher modulation (e.g., seventhmodulation level) on the particular subcarrier.

As an example, the system 300 can comprise 100 devices and 10subcarriers available for data transmission. In a first scenario, 99devices support a maximum of QAM 16 across all subcarriers, and onedevice supports QAM 64 across all subcarriers. QAM 16 can be used asmulticast subcarriers to the 100 devices. In a second scenario, 99devices support a maximum of QAM 64 across all subcarriers, and onedevice supports only QAM 16 across all subcarriers. QAM 16 can be usedas multicast to the 100 devices. In the second scenario, performances of99 devices are downgraded, whereas performance of only 1 device isdowngraded in the first scenario. The bandwidth lost is much greater inthe second scenario. Therefore, the number of bits lost per subcarrieris much greater in the second scenario.

In an aspect, the capacity reduction metric can be calculated accordingto the following algorithm:

For (each subcarrier){ <capacity reduction in bits> = 0; For(device){<capacity reduction in bits> += <modulation this device supports inbits> − <maximum multicast modulation level in bits>; } [store thenumber of bits of capacity lost for this subcarrier] }

The above algorithm illustrates that the capacity reduction metric canbe calculated separately for each subcarrier. The capacity reductionmetric initially begins at zero. Then, for each device requesting thefirst portion of the data (e.g., requesting to join a multicasttransmission of the first portion of the data), a capacity reductionvalue is determined by subtracting the maximum multicast modulationlevel from the modulation level the device supports. The maximummulticast modulation level can be the highest modulation level supportedby all the devices. The capacity reduction value for each of therequesting devices is summed to determine the capacity reduction metric.Then, the capacity reduction metric can be stored.

In an aspect, the optimal set of subcarriers can comprise the set ofsubcarriers that minimizes the capacity reduction metric. For example,the available subcarriers can be ranked, prioritized, and/or the likebased on the capacity reduction metric corresponding to the subcarrier.The optimal set of subcarriers can comprise the subcarriers with thehighest ranking (e.g., with the lowest capacity reduction metric).

In another aspect, the optimal set of subcarriers can be based onbandwidth parameters (e.g., constraints). For example, the first portionof the data can comprise a bit rate, resolution, and/or the like, whichcan define and/or constrain the bandwidth parameters. For example, theoptimal set of subcarriers can be selected if the selected subcarriersare associated with high enough modulation levels to meet therequirements for maintaining the bit rate, resolution, and/or the like.

In another aspect, the signal selection unit 308 can be configured todetermine the capacity reduction metric by comparing one or more minimumcapability to one or more corresponding maximum capability. For example,each of the minimum capability and maximum capability can be for aparticular subcarrier. The signal selection unit 308 can be configuredto determine the capability associated with a subcarrier for each of thedevices requesting the first portion of the data. The signal selectionunit 308 can identify the lowest capacity of the requesting devices asthe minimum capability for the subcarrier. The signal selection unit 308can identify the highest capacity of the requesting devices as themaximum capability for the subcarrier. The maximum capability and theminimum capability can be determined for one or more (or each) of theavailable subcarriers. For each subcarrier, the minimum capability canbe subtracted from the maximum capability, thereby determining acapacity reduction value for the corresponding subcarrier.

The signal selection unit 308 can be configured to calculate adifference between a value corresponding to a maximum capability and avalue corresponding to a minimum capability. As such, the difference invalue can be mathematically related to and/or indicative of a differencein capability. In an aspect, the difference in value below a predefinedthreshold (e.g., 1) can indicate a similar capability. As a furtherexample, the signal selection unit 308 can be configured to use one ormore predefined mathematical equations to evaluate to a difference invalue. In an aspect, the difference in value can translate to the amountof data loss (e.g., amount of bit loss per subcarrier). Accordingly, thesubcarriers can be prioritized, ranked, and/or the like accordingly tothe differences in value between the maximum capability and minimumcapability. The highest ranked and/or prioritized subcarriers can beselected as part of the optimal set of subcarriers. As another example,the subcarriers can be selected as part of the optimal set ofsubcarriers if the difference in value between the maximum capabilityand minimum capability is at or below the predefined threshold. Thesignal selection unit 308 can be configured to select one or more of thesubcarriers to transmit (e.g., multicast) the first portion of the datato the plurality of devices based on the determined minimum capabilityand the maximum capability. For example, the optimal set of subcarrierscan be used to transmit the first portion of the data to the pluralityof devices.

As an example, the plurality of devices (e.g., second device 312, thirddevice 314, fourth device 316, fifth device 318, and sixth device 320)can subscribe, request, and/or otherwise receive a data transmission ofthe first portion of the data. The data transmission can be a multicasttransmission. For the purposes of illustration, it is assumed that thedata transmission can be transmitted via five subcarriers. The seconddevice 312 can have a capability profile as follows: QAM 16 demodulationon a first subcarrier, QAM 64 demodulation on a second subcarrier, QAM16 demodulation on a third subcarrier, QAM 64 demodulation on a fourthsubcarrier, QAM 64 demodulation on a fifth subcarrier. The capabilityprofile for the second device 312 can be represented as 34344, whereeach number refers to a modulation level. Similarly, capability profilesfor a third device 314, a fourth device 316, a fifth device 318, and asixth device 320, can be expressed as 44365, 64425, 54364, and 04424,respectively. It should be noted that, in this scenario, the zero in thecapability profile of the sixth device 320 indicates that the sixthdevice 320 is not capable of processing (e.g., demodulating) the firstsubcarrier.

Therefore, in this scenario, a maximum capability to performdemodulation on the first subcarrier is the maximum value of 3, 4, 6, 5,and 0, which is 6. A maximum capability to perform demodulation on thesecond subcarrier is the maximum value of 4, 4, 4, 4, and 4, which is 4.A maximum capability to perform demodulation on the third subcarrier isthe maximum value of 3, 3, 4, 3, and 4, which is 4. A maximum capabilityto perform demodulation on the fourth subcarrier is the maximum value of4, 6, 2, 6, and 2, which is 6. A maximum capability to performdemodulation on the fifth subcarrier is the maximum value among 4, 5, 5,4, and 4, which is 5. As such, a maximum capability to performdemodulation on each of the five subcarriers can be 64465 among the fivedevices. Similarly, a minimum capability to perform demodulation on eachof the five subcarriers can be represented as 04324 among the fivedevices. The difference between the maximum capability and the minimumcapability for the five subcarriers can be represented as X0141, where“X” indicates that at least one device can not process the correspondingsignal (e.g., first subcarrier). When the difference between the maximumcapability and the minimum capability is X0141, the five devices have asimilar capability to process the second subcarrier, the thirdsubcarrier, and the fifth subcarrier. The differences between themaximum capability and the minimum capability to process the secondsignal, the third signal and the fifth signal are 0, 1, and 1,respectively. Therefore, the second signal, the third subcarrier and thefifth subcarrier can be candidate subcarriers to be used fortransmitting the first portion of the data to the plurality of devices.

In an aspect, the signal selection unit 308 can be configured to selectsubcarriers in the context of multiple bit rate transmission. Forexample, the first portion of the data can be performed (e.g.,transmitted, provided) as a plurality of data transmissions at differentbit rates. Since the bit rates are defined, the signal selection unit308 can determine the number of subcarriers for a data transmissionbased on the bit rate of the data transmission. For example, subcarrierswith lower modulation levels can be prioritized for selection as part ofthe optimal set of subcarriers for data streams with lower bit rates.Depending on device capabilities, network conditions, and/or otherfactors, different devices of the plurality of devices can request datatransmissions of the first portion of the data at different bit rates.For one or more of the data transmission at different bit rates, thesignal selection unit 308 can apply the techniques disclosed herein todetermine an optimal set of subcarriers for the particular datatransmission at the particular bit rate. The optimal set of subcarrierscan be determined based on the device capabilities associated with thedevices requesting the particular data transmission at the particularbit rate. As network or other conditions change, one or more of therequesting devices may switch to different data transmissions (e.g., ofthe first portion of the data) at bit rates different than the bit ratesof the prior requested data transmission (e.g., of the first portion ofthe data). In response, the signal selection unit 308 can be configuredto update the optimal set of subcarriers in response to the changes inthe capability information of the devices requesting a particular datatransmission.

In another aspect, the signal selection unit 308 can be configured toselect subcarriers in the context of multiple bit rate transmission withscalable video coding. In the context of the scalable video coding, eachof the devices requesting a data transmission at a particular bit ratemust also request all of the data transmission at lower bit rates. Thus,the lowest bit rate data transmission (e.g., of the first portion of thedata) will often have a larger number of devices requesting the datatransmission than the number of devices requesting data transmissions(e.g., of the first portion of the data) at higher bit rates. The signalselection unit 308 can be configured to prioritize selection of theoptimal set of subcarriers for the data transmissions at lower bit ratesover the selection of optimal sets of subcarriers for higher datatransmissions at higher bit rates. For example, a first datatransmission at a first rate (e.g., lowest offered bit rate) can have afirst optimal set of subcarriers. The second data transmission cansubsequently have a second optimal set of subcarriers selected. Thefirst optimal set of subcarriers can be different than the second set ofoptimal subcarriers because each of subcarriers may only be configuredto be used in transmitting a single data transmission. As the firstoptimal set of subcarriers are selected before the second set of optimalsubcarriers, the first optimal set of subcarriers may provide lesscapacity reduction than the capacity reduction of the second set ofoptimal subcarriers.

In one aspect, the signal selection unit 308 can be configured toidentity circumstances in which it is desirable to modify one or moreparameters, such as a bit rate of a particular data transmission. Thesignal selection unit 308 can be configured to determine that a lowercapacity reduction is achievable if one or more of the parameters ismodified. In such scenarios, the signal selection unit 308 can beconfigured to send an instruction (e.g., in real time) to an encoder(e.g., encoder 112), modulator (e.g., modulator 115), packager, and/orthe like (e.g., of the first device 302) to set, modify, update, and/orthe like the one or more parameters of the data transmission to allowfor selection of an optimal set of subcarriers associated with the lowercapacity reduction.

In an aspect, the signal selection unit 308 can be configured todetermine an optimal set of subcarriers in the context of carrieraggregation. For example, the first device 302 can be configured toprovide data transmissions in multiple channels, bands, and/or definedgroups of subcarriers. Each channel, band, and/or subcarrier groupingcan comprise a corresponding set of subcarriers available fortransmission within the channel, band, and/or subcarrier grouping. As anexample, the signal selection unit 308 can be configured to determine afirst optimal set of subcarriers for a first channel, band, and/orgrouping and a second optimal set of subcarriers for a second channel,band, and/or grouping. The signal selection unit 308 can be configuredto compare the capacity reduction information (e.g., capacity reductionvalues and metrics) of the first optimal set of subcarriers to thecapacity reduction information for the second optimal set ofsubcarriers. The signal selection unit 308 can be configured to selectthe optimal set of subcarriers having the lower capacity reduction amongthe first optimal set of subcarriers and second set of optimalsubcarriers. As another example, the signal selection unit 308 can beconfigured to divide the data transmission into multiple datatransmissions corresponding to different channels, bands, and/orsubcarrier groupings. The signal selection unit 308 can select theoptimal set of subcarriers in each of the channels, bands, and/orsubcarriers and provide corresponding portions of the divided datatransmission via the corresponding channels, bands, and/or subcarriergroupings.

FIG. 4 is a flowchart illustrating an example method 400 for performing(e.g., transmitting, providing) data. At step 402, capabilityinformation for a plurality of devices requesting (e.g., or thatrequested) a data transmission can be accessed. For example, thecapability information can be accessed from a local data store. Asanother example, the capability information can be requested, received,and/or accessed from each of the plurality of devices. The capabilityinformation can specify (e.g., indicate) capabilities (of the pluralityof devices) associated with corresponding subcarriers. The capabilityinformation can indicate capabilities of the plurality of devices forthe subcarriers. The capability information can be specific to each ofthe plurality of devices (e.g., though some devices may have identicalor similar capabilities). The capability information can specify (e.g.,indicate) a corresponding parameter (e.g., indicative of device settingor capability) and/or parameter value for each of the one or moresubcarriers. The parameter and/or parameter value can relate todemodulating the data transmission, decoding the data transmission,error correction of the data transmission, and deinterleaving the datatransmission. For example, the capability information can specify amodulation level (e.g., QAM 16, QAM 64, QAM 256, QAM 1024, QAM 4096, QAM16K), modulation scheme, and/or the like for each subcarrier.

At step 404, capacity reduction information for one or more of thesubcarriers can be determined based on the capability information. Thecapacity reduction information can comprise capacity loss among theplurality of devices to receive the data transmission via the one ormore subcarriers according to a common parameter. The capacity reductioninformation can comprise a capacity loss for the plurality of devices ifa common parameter value is used, for a respective subcarrier, toperform (e.g., transmit, provide) the data transmission to each of theplurality of devices via the respective subcarriers. The commonparameter can comprise the parameter relating to demodulating the datatransmission, decoding the data transmission, error correction of thedata transmission, deinterleaving the data transmission, and/or thelike. As a further example, the common parameter can comprise amodulation level (e.g., QAM 16, QAM 64, QAM 256, QAM 1024, QAM 4096, QAM16K), modulation scheme, and/or the like.

In an aspect, determining the capacity reduction information cancomprise determining a capacity loss, for each device, for each of theone or more subcarriers. The capacity reduction information can comprisean amount of bit capacity lost by a first portion of the plurality ofdevices due to a bit capacity limitation of a second portion of theplurality of devices. For example, the bit capacity limitation cancomprise a first modulation level (e.g., lowest modulation levelassigned to a respective subcarrier among the plurality of devices). Thefirst portion of the plurality of devices can support modulation levelsthat are higher (e.g., higher complexity, higher bit rate) than thefirst modulation level. The common parameter can comprise the firstmodulation level. Accordingly, if the first portion of the plurality ofdevices receives the data transmission at the first modulation level,then the first portion of the plurality of devices will experiencecapacity loss because the first portion of the plurality of devices canperform (e.g., transmit, provide) the data transmission at highermodulation levels than the first modulation level. Thus, the capacityreduction information can be determined by subtracting the modulationlevel corresponding to each of the first portion of the plurality ofdevices from the first modulation level.

In another aspect, the capacity reduction information can be determinedbased on comparison of maximum capabilities and minimum capabilities fordevices on corresponding subcarriers. For example, determining capacityreduction information for one or more of the subcarriers can comprisedetermining, for each device of the plurality of devices, a capabilityrelated to a first subcarrier of the one or more subcarriers.Additionally, a minimum capability for the first subcarrier and amaximum capability for the first subcarrier can be determined from thecapabilities related to the first subcarrier. The minimum capability canbe subtracted from the maximum capability. A capacity loss can becalculated, for the first subcarrier of the one or more subcarriers, by(e.g., as the result of) subtracting the minimum capability from themaximum capability.

At step 406, an optimal set of subcarriers for (e.g., to carry) the datatransmission can be determined based on the capacity reductioninformation. For example, determining the optimal set of subcarriers for(e.g., to carry) the data transmission can comprise determining (e.g.,selecting) subcarriers that minimize the capacity loss among theplurality of devices. As another example, the subcarriers can be ranked,prioritized, and/or the like based on the capacity reduction information(e.g., capacity loss) determined in step 404. The subcarriers with thehighest ranking (e.g., and lowest capacity loss) can be determined(e.g., selected) as the optimal set of subcarriers. In an aspect, theoptimal set of subcarriers can be determined (e.g., selected) based onthe data rate of the data transmission. For example, each of thesubcarriers can be configured to provide a certain amount of data.Accordingly, the optimal set of subcarriers can be determined (e.g.,selected) such that data capacity of the subcarriers is not wasted. Theoptimal set of subcarriers can be determined (e.g., selected) such thatthe data capacity of the optimal set of subcarriers is enough for thedata rate of the data transmission.

At step 408, the data transmission can be performed (e.g., transmitted,provided) to the plurality of devices via the optimal set ofsubcarriers. For example, the data transmission can be multicast,broadcast, unicast, and/or the like to the plurality of devices. In anaspect, the data transmission can comprise content, such as video,audio, text, and/or the like. The content can comprise and/or representa live event (e.g., sports game, live show, newscast). The datatransmission and/or the content can be requested by each of theplurality of devices. The plurality of devices can comprise computingdevices, televisions, mobile devices (e.g., cell phones, tablets), smartdevices, (e.g., smart glasses, smart apparel, smart watch), set topboxes, and/or the like as further described herein. The datatransmission can be multicast to the plurality of devices via DOCSIS,OFDM based protocol, home plug, LTE carrier aggregation, MoCA, or acombination thereof

In an aspect, the method 400 can further comprise adjusting an encodingparameter (e.g., encoding parameter value), modulation parameter (e.g.,modulation parameter value), or a combination thereof to accommodate alimitation of the optimal set of subcarriers. The data transmission canbe encoded based on the encoding parameter, modulated based on themodulation parameter, and/or a combination thereof before the performing(e.g., transmitting, providing) of the data transmission. The limitationcan comprise a bit rate limitation. For example, the optimal set ofsubcarriers may be configured to perform (e.g., transmit, provide) datawith a total bit rate which is less than the requested datatransmission. An encoding instruction can be sent to an encoder (e.g.,encoder 112) to decrease the bit rate of the data transmission toaccommodate the total bit rate supported by the optimal set ofsubcarriers.

In an aspect, the method 400 can be applied in the context of carrieraggregation, such as a wireless communication system (e.g., cell phonecommunication system) implementing carrier aggregation (e.g., as used incellular and other wireless systems), an OFDM based system implementingcarrier aggregation, and/or the like. For example, a first portion ofthe optimal set of subcarriers can belong to (e.g., be associated with)a first frequency band and a second portion of the optimal set ofsubcarriers can belong to (e.g., be associated with) a second frequencyband. The first frequency band can be contiguous and/or non-contiguousfrom the second frequency band. For example, non-contiguous frequencybands are separated by other frequency bands (e.g., sections offrequency spectrum). Contiguous frequency bands are not separated byother frequency bands. For example, contiguous frequency bands can sharea common border within a frequency spectrum. The first frequency bandand the second frequency band can be used to deliver data based oncarrier aggregation. For example, carrier aggregation can comprise theuse of multiple frequency bands to transmit data (e.g., at the same timeor at different times). Performing (e.g., transmitting, providing) thedata transmission to the plurality of devices via the optimal set ofsubcarriers can comprise performing (e.g., transmitting, providing) thedata transmission via the first frequency band and second frequency bandbased on carrier aggregation. For example, a first portion of the datacan be transmitted via the first frequency band, and a second portion ofthe data can be transmitted via the second frequency band. As a furtherexample, determining the optimal set of subcarriers for (e.g., to carry)the data transmission based on the capacity reduction informationcomprises selecting between a first optimal set of subcarriers in thefirst frequency band and a second optimal set of subcarriers in thesecond frequency band.

In another aspect, the method 400 can be applied in the context ofmultiple bit rate transmissions. As an example, the method 400 can beapplied individually for each of a plurality of data transmissions(e.g., the same content performed or provided at different bit rates).As another example, the data transmission can comprise a firsttransmission of a plurality of data transmissions based on scalablevideo coding. Determining (e.g., selecting) the optimal set ofsubcarriers can be performed for each of one or more of the plurality ofdata transmissions. Additionally, determining (e.g., selecting) theoptimal set of subcarriers can be prioritized based on the data rate ofthe corresponding data transmissions of the plurality of datatransmissions.

It should be noted that the method 400 can be applied repeatedly for adata transmission. For example, as the plurality of devices changes(e.g., new devices request the data transmission, some devices drop thedata transmission), the capabilities of the plurality of deviceschanges, and/or network conditions change, the method 400 can berepeated to determine an updated optimal set of subcarriers (e.g., basedon the update plurality of devices and/or capabilities thereof). Thedata transmission can be updated by changing the subcarriers used tocarry the data transmission in response to updates to the optimal set ofsubcarriers.

FIG. 5 is a flowchart illustrating an example method 500 for performing(e.g., transmitting, providing) data. At step 502, capability profilesfor a plurality of devices requesting (e.g., or that requested) a datatransmission can be accessed. For example, the capability profiles canbe accessed from a local data store. As another example, the capabilityprofiles can be requested, received, and/or accessed from each of theplurality of devices. The capability profiles can specify capabilitiesof the plurality of devices for corresponding subcarriers. Thecapability profiles can be specific to each of the plurality of devices(e.g., though some devices may have identical or similar capabilityprofiles). The capability profiles can associate a plurality ofavailable subcarriers with corresponding parameters (e.g., parametervalues). The corresponding parameters (e.g., parameter values) cancomprise modulation parameters, encoding parameters, error correctionparameters, interleaving parameters, or a combination thereof. Forexample, the capability information can specify a modulation level(e.g., QAM 16, QAM 64, QAM 256, QAM 1024, QAM 4096, QAM 16K), modulationscheme, and/or the like for each subcarrier.

At step 504, the corresponding parameters (e.g. or parameter values) canbe compared for one or more of the plurality of subcarriers. Comparingthe parameter values of the capability profiles can comprisedetermining, for each subcarrier of the plurality of availablesubcarriers, an amount of similarity between one or more of theparameter values associated with the respective subcarrier in thecapability profiles. For example, similarity or difference between thecorresponding parameters (e.g., parameter values) of the capabilityprofiles can be determined for each of at least a portion of theavailable subcarriers. The similarity or difference can comprise anamount of bit capacity (e.g., or modulation level) similarity ordifference between a first portion of the plurality of devices and asecond portion of the plurality of devices. For example, the bitcapacity can correspond to a first parameter (e.g., first modulationlevel, lowest modulation level assigned to a respective subcarrier amongthe plurality of devices). The first portion of the plurality devicescan support parameters (e.g., modulation levels) that have higher values(e.g., higher complexity, higher bit rate) than the first parameter.Accordingly, if the first portion of the plurality of devices receivesthe data transmission based on the first parameter (e.g., at the firstmodulation level), then the first portion of the plurality of devicesmay experience capacity loss because the first portion of the pluralityof devices can perform (e.g., transmit, provide) the data transmissionbased on higher parameter values (e.g., higher modulation levels) thanthe first parameter (e.g., first modulation level). Thus, the similarityor difference can be determined by subtracting the parameter (e.g.,modulation level) corresponding to each of the first portion of theplurality of devices from the first parameter (e.g., first modulationlevel).

In another aspect, the similarity or difference can be determined basedon comparison of maximum parameter values to minimum parameter valuesamong devices for corresponding subcarriers. For example, determiningsimilarity or difference for each of the available subcarriers cancomprise determining, for each device of the plurality of devices, thecorresponding parameter for a first subcarrier of the availablesubcarriers. Additionally, a minimum parameter value for the firstsubcarrier and a maximum parameter value for the first subcarrier can bedetermined from the parameters of the plurality of devices correspondingto the first subcarrier. The minimum parameter can be subtracted fromthe maximum parameter. A difference can be calculated, for the firstsubcarrier, as result of subtracting the minimum parameter from themaximum parameter.

At step 506, an optimal set of subcarriers for performing (e.g.,transmitting, providing) a data transmission to the plurality of devicescan be determined (e.g., selected). For example, the optimal set ofsubcarriers can be determined based on the comparison of the parameters(e.g., parameter values). The optimal set of subcarriers can bedetermined (e.g., selected) based on similarity of the correspondingparameters among the capability profiles for the correspondingsubcarriers. For example, one or more (or each) of the availablesubcarriers can be ranked, prioritized, and/or the like based on thesimilarity or difference (e.g., capacity loss) determined in step 506.The subcarriers with the highest ranking (e.g., greatest similarity,lowest difference, lowest capacity loss) can be determined (e.g.,selected) as the optimal set of subcarriers. In an aspect, the optimalset of subcarriers can be determined (e.g., selected) based on the datarate of the data transmission. For example, each of the subcarriers canbe configured to provide a certain amount of data. Accordingly, theoptimal set of subcarriers can be determined (e.g., selected) such thatdata capacity of the subcarriers is not wasted. The optimal set ofsubcarriers can be determined (e.g., selected) such that the datacapacity of the optimal set of subcarriers is enough for the data rateof the data transmission.

In an aspect, determining (e.g., selecting) the optimal set ofsubcarriers for performing (e.g., transmitting, providing) the datatransmission can comprise determining, for each subcarrier of theavailable subcarriers, a capacity loss based on similarity ordifferences between the corresponding parameters (e.g., parametervalues) of each of the capability profiles. The optimal set ofsubcarriers can comprise subcarriers from the available subcarriers thatminimize the capacity loss. In another aspect, determining (e.g.,selecting) the optimal set of subcarriers for performing (e.g.,providing, transmitting) the data transmission to the plurality ofdevices can comprise determining (e.g., selecting) subcarriers from theavailable subcarriers (e.g., that have corresponding parameters amongthe plurality of capability profiles) that have a similarity (e.g., anamount of similarity) within a similarity threshold.

At step 508, the data transmission can be performed (e.g., provided,transmitted) to the plurality of devices via the optimal set ofsubcarriers. For example, the data transmission can be multicast,broadcast, unicast and/or the like to the plurality of devices. In anaspect, the data transmission can comprise content, such as video,audio, text, and/or the like. The content can comprise and/or representa live event (e.g., sports game, live show, newscast), video on demandcontent, and/or the like. The data transmission and/or the content canbe requested by each of the plurality of devices. The plurality ofdevices can comprise computing devices, televisions, mobile devices(e.g., cell phones, tablets), smart devices, (e.g., smart glasses, smartapparel, smart watch), set top boxes, and/or the like as furtherdescribed herein. The data transmission can be multicast to theplurality of devices via DOCSIS, OFDM based protocol, home plug, LTEcarrier aggregation, MoCA, or a combination thereof

In an aspect, the method 500 can further comprise adjusting an encodingparameter (e.g., encoding parameter value), modulation parameter (e.g.,modulation parameter value), or a combination thereof to accommodate alimitation of the optimal set of subcarriers. The data transmission canbe encoded based on the adjusted encoding parameter, modulated based onthe adjusted modulation parameter, and/or a combination thereof beforethe performing of the data transmission. For example, the limitation cancomprise a bit rate limitation. For example, the optimal set ofsubcarriers may be configured to provide data with a total bit rate thatis less than the requested data transmission. An encoding instructioncan be sent to an encoder (e.g., encoder 112) to decrease the bit rateof the data transmission to accommodate the total bit rate supported bythe optimal set of subcarriers.

In an aspect, the method 500 can be applied in the context of carrieraggregation, such as a wireless communication system (e.g., cell phonecommunication system) implementing carrier aggregation (e.g., as used bycellular and other wireless systems), an OFDM based system implementingcarrier aggregation, and/or the like. For example, a first portion ofthe optimal set of subcarriers can belong to (e.g., be associated with)a first frequency band and a second portion of the optimal set ofsubcarriers can belong to (e.g., be associated with) a second frequencyband. The first frequency band can be contiguous and/or non-contiguousfrom the second frequency band. For example, non-contiguous frequencybands are separated by other frequency bands (e.g., sections offrequency spectrum). Contiguous frequency bands are not separated byother frequency bands. For example, contiguous frequency bands can sharea common border within a frequency spectrum. The first frequency bandand the second frequency band can be used to deliver data based oncarrier aggregation. For example, carrier aggregation can comprise theuse of multiple frequency bands to transmit data (e.g., at the same timeor at different times). Performing (e.g., transmitting, providing) thedata transmission to the plurality of devices via the optimal set ofsubcarriers can comprise performing (e.g., transmitting, providing) thedata transmission via the first frequency band and second frequency bandbased on carrier aggregation. For example, a first portion of the datacan be transmitted via the first frequency band, and a second portion ofthe data can be transmitted via the second frequency band. As a furtherexample, determining the optimal set of subcarriers to carry the datatransmission based on the capacity reduction information can compriseselecting between a first optimal set of subcarriers in the firstfrequency band and a second optimal set of subcarriers in the secondfrequency band.

In another aspect, the method 500 can be applied in the context ofmultiple bit rate transmissions. As an example, the method 500 can beapplied individually for each of a plurality of data transmissions(e.g., of the same content provided at different bit rates). As anotherexample, the data transmission can comprise a first transmission of aplurality of data transmissions based on scalable video coding.Determining (e.g., selecting) the optimal set of subcarriers can beperformed for each of one or more of the plurality of datatransmissions. Additionally, determining (e.g., selecting) the optimalset of subcarriers can be prioritized based on the data rate of thecorresponding data transmissions of the plurality of data transmissions.

It should be noted that the method 500 can be applied repeatedly for adata transmission. For example, as the plurality of devices changes(e.g., new devices request the data transmission, some devices drop thedata transmission), the capabilities of the plurality of deviceschanges, and/or network conditions change, the method 500 can berepeated to determine an updated optimal set of subcarriers (e.g., basedon the update plurality of devices and/or capabilities thereof). Thedata transmission can be updated by changing the subcarriers used tocarry the data transmission in response to updates to the optimal set ofsubcarriers.

FIG. 6 is a flowchart illustrating yet another example method 600 forperforming (e.g., providing, transmitting) data. At step 602, aplurality of capability profiles can be accessed. The plurality ofcapability profiles can associate a plurality of available subcarrierswith corresponding parameters (e.g., parameter values). The plurality ofcapability profiles can comprise predefined or dynamically generatedcapability profiles for an orthogonal frequency division multiplexingbased communication system. For example, the plurality of capabilityprofiles can be accessed from a local data store. As another example,the plurality of capability profiles can be requested, received, and/oraccessed from each of a plurality of devices. The plurality ofcapability profiles can specify capabilities of the plurality of devicesfor corresponding subcarriers. The plurality of capability profiles canbe specific to each of the plurality of devices (e.g., though somedevices may have identical or similar capability profiles). Theplurality of capability profiles can associate a plurality of availablesubcarriers with corresponding parameters (e.g., parameter values). Thecorresponding parameters can comprise modulation parameters (e.g.,modulation parameter values), encoding parameters (e.g., encodingparameter values), error correction parameters (e.g., error correctionparameter values), interleaving parameters (e.g., interleaving parametervalues), or a combination thereof. For example, the capabilityinformation can specify a modulation level (e.g., QAM 16, QAM 64, QAM256, QAM 1024, QAM 4096, QAM 16K), modulation scheme, and/or the likefor each subcarrier.

In an aspect, similarity or difference between the correspondingparameters (e.g., parameter values) of the plurality of capabilityprofiles can be determined for each of at least a portion of theavailable subcarriers. The similarity or difference can comprise anamount of bit capacity (e.g., or modulation level) similarity ordifference between a first portion of the plurality of devices and asecond portion of the plurality of devices. For example, the bitcapacity for a particular subcarrier of the first portion of theplurality of capability profiles can correspond to a first parameter(e.g., first modulation level, lowest modulation level assigned to arespective subcarrier among the plurality of capacity profiles). Thesecond portion of the plurality of capacity profiles can specifyparameters (e.g., modulation levels) which have higher values (e.g.,higher complexity, higher bit rate) than the first parameter. Thus, thesimilarity or difference (e.g., for a particular subcarrier) can bedetermined by subtracting the first parameter (e.g., modulation level)from the corresponding parameters of the second portion of the pluralityof capability profiles.

In another aspect, the similarity or difference can be determined basedon comparison of maximum parameter values to minimum parameter valuesamong the plurality of capability profiles for correspondingsubcarriers. For example, determining similarity or difference for eachof the available subcarriers can comprise determining, for each capacityprofile of the plurality of capacity profiles, the correspondingparameter for a first subcarrier of the available subcarriers.Additionally, a minimum parameter value for the first subcarrier and amaximum parameter value for the first subcarrier can be determined fromthe parameters of the plurality of capability profiles. The minimumparameter can be subtracted from the maximum parameter (e.g., for aparticular subcarrier). A difference can be calculated, for the firstsubcarrier, as result of subtracting the minimum parameter from themaximum parameter.

At step 604, at least one group of optimal subcarriers can be determined(e.g., selected) from among the available subcarriers. The at least onegroup of optimal subcarriers can be determined based on a comparison,for one or more of the available subcarriers, of the parameters valuesof the plurality of capability profiles. For example, the at least onegroup of optimal subcarriers can be determined (e.g., selected) based onsimilarity (e.g., an amount of similarity) of the correspondingparameters among the capability profiles for the correspondingsubcarriers. For example, one or more (or each) of the availablesubcarriers can be ranked, prioritized, and/or the like based on thedetermined similarity or difference (e.g., capacity loss). Thesubcarriers with the highest ranking (e.g., greatest similarity, lowestdifference, lowest capacity loss) can be determined (e.g., selected) asthe at least one group of optimal subcarriers.

In an aspect, determining (e.g., selecting) the at least one group ofoptimal of subcarriers can comprise determining (e.g., selecting)subcarriers from the available subcarriers that have correspondingparameters (e.g., parameter values) among the plurality of capabilityprofiles that have a similarity (e.g., amount of similarity) within asimilarity threshold. In another aspect, determining (e.g., selecting)the at least one group of optimal subcarriers can comprise determining,for each subcarrier of the available subcarriers, a capacity loss basedon differences between the corresponding parameters (e.g., parametervalues) of each of the capability profiles. The at least one group ofoptimal subcarriers can comprise subcarriers from the availablesubcarriers that minimize the capacity loss. As a further example,determining the at least one group of optimal subcarriers can comprisedetermining, for each subcarrier of the plurality of availablesubcarriers, an amount of similarity between one or more of theparameter values associated with the respective subcarrier in thecapability profiles. Subcarriers from the plurality of availablesubcarriers that have the amount of similarity within a similaritythreshold can be determined.

At step 606, a first transmission group that comprises the at least onegroup of optimal subcarriers can be determined. For example, the atleast one group of optimal subcarriers can be assigned as a firsttransmission group. For example, the first transmission group cancomprise a first multicast transmission group, a first unicasttransmission group, a first broadcast transmission group, and/or thelike. In as aspect, the at least one group of optimal subcarriers can beassigned in a file, such as a configuration file, setting, and/or thelike of a modulator, encoder, and/or the like. In an aspect, theplurality of capability profiles can be updated based on the determiningof the at least one group of optimal subcarriers as the firsttransmission group (e.g., multicast transmission group). For example, asetting, parameter, and/or the like can be updated in the capabilityprofile thereby identifying the at least one group of optimalsubcarriers.

At step 608, a data transmission can be performed (e.g., transmitted,provided) via the first transmission group. The data transmission cancomprise a multicast data transmission, broadcast data transmission,unicast data transmission, a combination thereof, and/or the like. Forexample, the data transmission can be multicast, broadcast, unicastand/or the like to the plurality of devices. In an aspect, the datatransmission can comprise content, such as video, audio, text, and/orthe like. The content can comprise and/or represent a live event (e.g.,sports game, live show, newscast), video on demand content, and/or thelike. The data transmission and/or the content can be requested by eachof the plurality of devices. The plurality of devices can comprisecomputing devices, televisions, mobile devices (e.g., cell phones,tablets), smart devices, (e.g., smart glasses, smart apparel, smartwatch), set top boxes, and/or the like as further described herein. Thedata transmission can be multicast to the plurality of devices viaDOCSIS, OFDM based protocol, home plug, LTE carrier aggregation, MoCA,or a combination thereof

In an aspect, the method 600 can further comprise adjusting an encodingparameter (e.g., encoding parameter value), modulation parameter (e.g.,modulation parameter value), or a combination thereof to accommodate alimitation of the optimal set of subcarriers. For example, thelimitation can comprise a bit rate limitation. For example, the optimalset of subcarriers may be configured to provide data with a total bitrate that is less than the requested data transmission. An encodinginstruction can be sent to an encoder (e.g., encoder 112) to decreasethe bit rate of the data transmission to accommodate the total bit ratesupported by the optimal set of subcarriers.

In an aspect, the method 600 can be applied in the context of carrieraggregation, such as a wireless communication system (e.g., cell phonecommunication system) implementing carrier aggregation (e.g., as used incellular and other wireless systems), an OFDM based system implementingcarrier aggregation, and/or the like. For example, a first portion ofthe optimal set of subcarriers can belong to (e.g., be associated with)a first frequency band and a second portion of the optimal set ofsubcarriers can belong to (e.g., be associated with) a second frequencyband. The first frequency band can be contiguous and/or non-contiguousfrom the second frequency band. For example, non-contiguous frequencybands are separated by other frequency bands (e.g., sections offrequency spectrum). Contiguous frequency bands are not separated byother frequency bands. For example, contiguous frequency bands can sharea common border within a frequency spectrum. The first frequency bandand the second frequency band can be used to deliver data based oncarrier aggregation. For example, carrier aggregation can comprise theuse of multiple frequency bands to transmit data (e.g., at the same timeor at different times). Performing (e.g., providing, transmitting) thedata transmission to the plurality of devices via the optimal set ofsubcarriers can comprise performing the data transmission via the firstfrequency band and second frequency band based on carrier aggregation.For example, a first portion of the data can be transmitted via thefirst frequency band, and a second portion of the data can betransmitted via the second frequency band. As a further example,determining the optimal set of subcarriers to carry the datatransmission based on the capacity reduction information can compriseselecting between a first optimal set of subcarriers in the firstfrequency band and a second optimal set of subcarriers in the secondfrequency band.

In another aspect, the method 600 can be applied in the context ofmultiple bit rate transmissions. As an example, the method 600 can beapplied individually for each of a plurality of different datatransmissions (e.g., the same content provided at different bit rates).As another example, the data transmission can comprise a firsttransmission of a plurality of data transmissions based on scalablevideo coding. A different group of optimal subcarriers can be determined(e.g., selected) for each of one or more of the plurality of datatransmissions. Additionally, determining (e.g., selecting) the at leastone group of optimal subcarriers can be prioritized based on the datarate of the corresponding data transmissions of the plurality of datatransmissions.

It should be noted that the method 600 can be applied repeatedly (e.g.,at predefined times, in response to a triggering condition). Forexample, as the plurality of capability profiles changes (e.g., newcapability profiles are added, capability profiles are updated orremoved), the method 600 can be repeated to determine updated groups ofoptimal subcarriers. The data transmission can be updated by changingthe subcarriers used to carry the data transmission in response toupdates to the at least one group of optimal subcarriers.

While the methods and systems have been described in connection withpreferred embodiments and specific examples, it is not intended that thescope be limited to the particular embodiments set forth, as theembodiments herein are intended in all respects to be illustrativerather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is no way intended thatan order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof embodiments described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations can be made without departing from thescope or spirit. Other embodiments will be apparent to those skilled inthe art from consideration of the specification and practice disclosedherein. It is intended that the specification and examples be consideredas exemplary only, with a true scope and spirit being indicated by thefollowing claims.

What is claimed is:
 1. A method comprising: receiving, from a device, arequest for data; determining, based on the request, capabilityinformation associated with the device; determining, based on thecapability information associated with the device, a first set ofsubcarriers associated with the device; sending, via the first set ofsubcarriers, a first portion of the data; receiving, from the device, anupdated request for the data; determining, based on the updated requestfor the data and the capability information associated with the device,an updated set of subcarriers associated with the device; and sending,via the updated set of subcarriers, based on the updated request for thedata, a second portion of the data.
 2. The method of claim 1, whereinthe data comprises a multicast transmission associated with one or moreof audio content and video content.
 3. The method of claim 1, whereinthe capability information comprises at least one of: a modulation levelthe device can demodulate, a modulation level the device can modulate,an error correction capability, deinterleaving information, a modulationerror ratio (MER), a signal-to-noise ratio (SNR), or an error vectormagnitude (EVM).
 4. The method of claim 1, wherein the first set ofsubcarriers is associated with a base transmission rate and the updatedset of subcarriers is associated with an additional transmission rateand wherein the updated set of subcarriers associated with theadditional transmission rate is lower priority than the first set ofsubcarriers associated with the base transmission rate.
 5. The method ofclaim 4, wherein the base transmission rate is lower than the additionaltransmission rate.
 6. The method of claim 1, wherein the first set ofsubcarriers is associated with a lower modulation level and the updatedset of subcarriers is associated with a higher modulation level.
 7. Themethod of claim 1, wherein sending, via the first set of subcarriers,the first portion of the data comprises sending the first portion of thedata as a plurality of data transmissions associated with a firsttransmission rate and wherein sending, via the updated set ofsubcarriers, the second portion of the data as a plurality of datatransmissions associated with a second transmission rate.
 8. A methodcomprising: receiving, from a device, a request for data wherein therequest is associated with a requested transmission rate determining,based on the requested transmission rate, a first set of subcarriersassociated with a base transmission rate and a second set of subcarriersassociated with an additional transmission rate, wherein the basetransmission rate and the additional transmission rate combined satisfythe requested transmission rate; sending, to the device, a base portionof the data via the first set of subcarriers associated with the basetransmission rate; and sending, to the device, an additional portion ofthe data via the second set of subcarriers associated with theadditional transmission rate.
 9. The method of claim 8, wherein the datacomprises a multicast scalable video coding transmission.
 10. The methodof claim 9, wherein the base portion of the data comprises a base layerof the multicast scalable video coding transmission and wherein theadditional portion of the data comprises one or more enhancement layersof the multicast scalable video coding transmission.
 11. The method ofclaim 8, wherein the base portion of the data causes the device tooutput video content at a low resolution and the additional portion ofthe data causes the device to output the video content at a highresolution.
 12. The method of claim 8, wherein the request indicates aparameter value for each of the first set of subcarriers and the secondset of subcarriers, and wherein the parameter value relates to at leastone of: a transmission rate, a video resolution, a modulation level, anda demodulation level.
 13. The method of claim 8, wherein the second setof subcarriers associated with the additional transmission rate is lowerpriority than the first set of subcarriers associated with the basetransmission rate.
 14. The method of claim 8, wherein the first set ofsubcarriers is associated with a lower modulation level and the secondset of subcarriers is associated with a higher modulation level.
 15. Themethod of claim 8, wherein sending the base portion of the data and theadditional portion of the data comprises sending the base portion of thedata and the additional portion of the data via quadrature amplitudemodulation.
 16. The method of claim 8, further comprising:discontinuing, based on a change in a network characteristics, sendingthe additional portion of the data via the second set of subcarriers.17. An apparatus comprising: one or more processors; and a memorystoring processor-executable instructions that, when executed by the oneor more processors, cause the apparatus to: receive, from a device, arequest for data; determine, based on the request, capabilityinformation associated with the device; determine, based on thecapability information associated with the device, a first set ofsubcarriers associated with the device; send, via the first set ofsubcarriers, a first portion of the data; receive, from the device, anupdated request for the data; determine, based on the updated requestfor the data and the capability information associated with the device,an updated set of subcarriers associated with the device; and send, viathe updated set of subcarriers, based on the updated request for thedata, a second portion of the data.
 18. The apparatus of claim 17,wherein the data comprises a multicast transmission associated with oneor more of audio content and video content.
 19. The apparatus of claim17, wherein the capability information comprises at least one of: amodulation level the device can demodulate, a modulation level thedevice can modulate, an error correction capability, deinterleavinginformation, a modulation error ratio (MER), a signal-to-noise ratio(SNR), or an error vector magnitude (EVM).
 20. The apparatus of claim17, wherein the first set of subcarriers is associated with a basetransmission rate and the updated set of subcarriers is associated withan additional transmission rate and wherein the updated set ofsubcarriers associated with the additional transmission rate is lowerpriority than the first set of subcarriers associated with the basetransmission rate.
 21. The apparatus of claim 20, wherein the basetransmission rate is lower than the additional transmission rate. 22.The apparatus of claim 17, wherein the first set of subcarriers isassociated with a lower modulation level and the updated set ofsubcarriers is associated with a higher modulation level.
 23. Theapparatus of claim 17, wherein the processor-executable instructionthat, when executed by the one or more processors, cause the apparatusto send, via the first set of subcarriers, the first portion of thedata, further cause the apparatus to send the first portion of the dataas a plurality of data transmissions associated with a firsttransmission rate and wherein the processor-executable instruction that,when executed by the one or more processors, cause the apparatus tosend, via the updated set of subcarriers, the second portion of thedata, further cause the apparatus to send the second portion of the dataas a plurality of data transmissions associated with a secondtransmission rate.
 24. An apparatus comprising: one or more processors;and a memory storing processor-executable instructions that, whenexecuted by the one or more processors, cause the apparatus to: receive,from a device, a request for data wherein the request is associated witha requested transmission rate; determine, based on the requestedtransmission rate, a first set of subcarriers associated with a basetransmission rate and a second set of subcarriers associated with anadditional transmission rate, wherein the base transmission rate and theadditional transmission rate combined satisfy the requested transmissionrate; send, to the device, a base portion of the data via the first setof subcarriers associated with the base transmission rate; and send, tothe device, an additional portion of the data via the second set ofsubcarriers associated with the additional transmission rate.
 25. Theapparatus of claim 24, wherein the data comprises a multicast scalablevideo coding transmission.
 26. The apparatus of claim 25, wherein thebase portion of the data comprises a base layer of a multicast scalablevideo coding transmission and wherein the additional portion of the datacomprises one or more enhancement layers of the multicast scalable videocoding transmission.
 27. The apparatus of claim 24, wherein the baseportion of the data causes the device to output video content at a lowresolution and the additional portion of the data causes the device tooutput the video content at a high resolution.
 28. The apparatus ofclaim 24, wherein the request indicates a parameter value for each ofthe first set of subcarriers and the second set of subcarriers, andwherein the parameter value relates to at least one of: a transmissionrate, a video resolution, a modulation level, and a demodulation level.29. The apparatus of claim 24, wherein the second set of subcarriersassociated with the additional transmission rate is lower priority thanthe first set of subcarriers associated with the base transmission rate.30. The apparatus of claim 24, wherein the first set of subcarriers isassociated with a lower modulation level and the second set ofsubcarriers is associated with a higher modulation level.
 31. Theapparatus of claim 24, wherein sending the base portion of the data andthe additional portion of the data comprises sending the base portion ofthe data and the additional portion of the data via quadrature amplitudemodulation.
 32. The apparatus of claim 24, wherein theprocessor-executable instruction, when executed by the one or moreprocessors, further cause the apparatus to discontinue, based on achange in a network characteristics, sending the additional portion ofthe data via the second set of subcarriers.